100
|
Is is possible to toggle the selection of dates, such the first click selects the date, the second click unselects it, and so on

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oCalendar
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:OnResizeControl := 1281/*exCalendarFit+exHideSplitter+exResizePanelRight*/
oCalendar := oSchedule:Calendar()
oCalendar:AllowToggleSelectKey := 1/*exLeftClick*/
oCalendar:AllowSelectDate := 1/*exLeftClick*/
oCalendar:SingleSel := .F.
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
99
|
How can I change the background color for selected dates in the calendar panel, so always is the same no matter if the control loses the focus

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:SetProperty("Background",68/*exCalendarSelBackColorUnFocus*/,oSchedule:Background(19/*exCalendarSelBackColor*/))
oSchedule:SetProperty("Background",69/*exCalendarSelForeColorUnFocus*/,oSchedule:Background(20/*exCalendarSelForeColor*/))
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
98
|
Is it possible to specify a different background color for the calendar panel

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:SetProperty("Background",4/*exCalendarBackColor*/,AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. ))
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
97
|
How do I change the control's border, using your EBN files

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
oSchedule:Appearance := 16777216/*0x1000000+*/
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
96
|
Is it possible to prevent showing the calendar at all

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:OnResizeControl := 768/*exChangePanels+exHideSplitter*/
oSchedule:ScrollBars := 0/*exNoScroll*/
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
95
|
How can I change the visual aspect only for a specified event

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oEvents
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
oSchedule:Calendar():Selection := "06/20/2012"
oEvents := oSchedule:Events()
oEvents:Add("06/20/2012 09:00:00","06/20/2012 11:00:00")
oEvents:Add("06/20/2012 10:30:00","06/20/2012 13:00:00"):SetProperty("BodyBackColor",0x1000000)
oEvents:Add("06/20/2012 13:00:00","06/20/2012 15:00:00")
oSchedule:SetProperty("DefaultEventPadding",-1/*exPaddingAll*/,2)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
94
|
How can I change the visual aspect of the events

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
oSchedule:SetProperty("Background",75/*exScheduleCreateEventBackColor*/,0x1000000)
oSchedule:SetProperty("Background",79/*exScheduleUpdateEventsBackColor*/,0x1000000)
oSchedule:SetProperty("BodyEventBackColor",0x1000000)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
93
|
Is there any event to let me know once an edit has been edited

PROCEDURE OnLayoutEndChanging(oSchedule,Operation)
DevOut( "End exScheduleEditEvent(15)" )
DevOut( Transform(Operation,"") )
RETURN
PROCEDURE OnLayoutStartChanging(oSchedule,Operation)
DevOut( "Start exScheduleEditEvent(15)" )
DevOut( Transform(Operation,"") )
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oEvents
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:LayoutEndChanging := {|Operation| OnLayoutEndChanging(oSchedule,Operation)} /*Notifies your application once the control's layout has been changed.*/
oSchedule:LayoutStartChanging := {|Operation| OnLayoutStartChanging(oSchedule,Operation)} /*Occurs when the control's layout is about to be changed.*/
oSchedule:AllowEditEvent := 1/*exLeftClick*/
oSchedule:AllowSelectEvent := 0/*exDisallow*/
oSchedule:DefaultEventLongLabel := ""
oSchedule:DefaultEventShortLabel := oSchedule:DefaultEventLongLabel()
oSchedule:VisualDesign := "gBFLBWIgBAEHhEJAEGg7IAUHXI6g0MAAmhULikUCIgg6sh4AgRCJ0Ui8HjKTj6AADACAxRDAMgBQKAAzQFAYZhpBaERiHEZoJhUAIIRZGMQxXAcMQvDSKQRhEAoJDgN4kQKNYyQYAAYhuGaPBhASQJUhkMocR7HMygBJkUABEyYaFHdIFCQ1DykJzkCbqAgkMYeDRHQxTdQsEgpDQMIRpGA5eb+XgAV4/cTSYKQahLMizJYGUYLHgma5tTTWcTVPLVFRrJiTYRlKTJOjCCQ0ATdUyzPAeCRzQ6QJ5kUZ6CgSUpGRjkhY6agkF6VVxCNg2BT8KzxRoAKhiGpKHpaCaUQLWMB5PaoAR8fLYAA2B6bDhGaa2XAAFr2VZkWSUBBpnSWo8kYIg1D6NBuGyIhYnCXx5kuHZcjUAAOAcDxbF2L5mmKPIOl2Ox7l2XJVGAfRMh8CABiyYpgi8E5pFSRp4DQHBkiKOQug4ChpmqPRoiAco6HePxJDUXQAASCYpHA" +;
"WpUHmGxmlwdphlwQJWncMQzFwXknCodJcEcXRiHYUIYCwAByhyaB1lAeReDgTgAHwU44GoHB3lUJgFi2BgYCYGYGgkFx2C2ax+lARI9FKA5YHiMR2guHBHlUPIChuBRJk4XIjiUKg8GsY5ohkZoQh2dJ6AYZxfFkHZoF2E5gkQOBPgMIJJHwS5WJmMRvhINwRHKAAdCieZyHEHgxEAaQYkcQZUHIGRUnQJIuAGEAxAgTYclGFBRAMCgQhgTZnEIIQ0AweIdCYZYGgaIZbDaTJbiKaJKDaDojmkChGhKI5bDoHoWD+aIqDiPImmmSh2h6J5qAqBoi3yeghjCIwpnIeoqiqapKjaLormsCouh+IwrBqVo2i2a4KlqHItY0Fo+i+bALAaF4riuOmPjCLILCaSYxCmOpwh6MotAsRoWjMC5LDqUo1m0GxSlaNgtktlgxiuWx2mKL4tnMbpHjiboKB6ZY5m6G42muOBuluJpvjObwbkqLYxG4a5CnWOIvDubp" +;
"oiyKZrG6fo3HACxWg6OwwDsYoriUGwMCMCY0iqOgnBKQ4wnsQwUFgcR8FaSJGE+fBzBqMAxkqZwikichLlKFxAEAgIA=="
oSchedule:Calendar():Selection := "06/20/2012"
oEvents := oSchedule:Events()
oEvents:Add("06/20/2012 09:00:00","06/20/2012 11:00:00"):Editable := 3/*exEditLongLabel*/
oEvents:Add("06/20/2012 10:30:00","06/20/2012 13:00:00"):Editable := 3/*exEditLongLabel*/
oEvents:Add("06/20/2012 13:00:00","06/20/2012 15:00:00"):Editable := 3/*exEditLongLabel*/
oSchedule:SetProperty("DefaultEventPadding",-1/*exPaddingAll*/,2)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
92
|
I've noticed that the background of the event while editing is transparent. Is it possible to change it

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oEvents
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:AllowEditEvent := 1/*exLeftClick*/
oSchedule:AllowSelectEvent := 0/*exDisallow*/
oSchedule:DefaultEventLongLabel := ""
oSchedule:DefaultEventShortLabel := oSchedule:DefaultEventLongLabel()
oSchedule:VisualDesign := "gBFLBWIgBAEHhEJAEGg41hhjNcHhgAE0KhcTiYREEHDMMgRCJ0Ti0ShEGhiAADACAxRDAMgBQKAAzQFAYbhsGCGAAGEZBQgmFgAQhFcZQSKUOQTDKMIziaQIRDINQlSTJcQjKKEUQTFiXIyAKL5CgkBYJBrNM5SFIAEQSKA0TDOQ5To5jEBzIxIIjaJhoNoJChNU4TIDELphECdYqUCq6cp2XgAJhYNhWHYgAIjM60LRtIAELq2bpvXAACCXHalazsAA+bxvK67cAAd5/YBgOBAAaGC4NQ7EAANHC8Mw3DgAGLkORZHigACzS7MMxzIACQx3HqfaAABK6HomS5NUTTNR0TLNAy3HqWZpsOYZBima4lRTHNxxTBMIz3Bp+YI4DgC5FnOCx6jkXY5DcSxlkOGxujMWo6DaCwFhOKzgFeOw1lAAoXjuXpvngAAQBAgI"
oSchedule:Calendar():Selection := "06/20/2012"
oEvents := oSchedule:Events()
oEvents:Add("06/20/2012 09:00:00","06/20/2012 11:00:00"):Editable := 3/*exEditLongLabel*/
oEvents:Add("06/20/2012 11:00:00","06/20/2012 13:00:00"):Editable := 3/*exEditLongLabel*/
oEvents:Add("06/20/2012 13:00:00","06/20/2012 15:00:00"):Editable := 3/*exEditLongLabel*/
oSchedule:SetProperty("Background",83/*exScheduleEditEventBackColor*/,AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. ))
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
91
|
How can I edit the Event.LongLabel property of the Event rather than ExtraLabel

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oEvents
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:AllowEditEvent := 1/*exLeftClick*/
oSchedule:AllowSelectEvent := 0/*exDisallow*/
oSchedule:DefaultEventLongLabel := ""
oSchedule:DefaultEventShortLabel := oSchedule:DefaultEventLongLabel()
oSchedule:Calendar():Selection := "06/20/2012"
oEvents := oSchedule:Events()
oEvents:Add("06/20/2012 09:00:00","06/20/2012 11:00:00"):Editable := 3/*exEditLongLabel*/
oEvents:Add("06/20/2012 11:00:00","06/20/2012 13:00:00"):Editable := 3/*exEditLongLabel*/
oEvents:Add("06/20/2012 13:00:00","06/20/2012 15:00:00"):Editable := 3/*exEditLongLabel*/
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
90
|
Is it possible to edit the event at a single click rather than double click

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oEvents
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:AllowEditEvent := 1/*exLeftClick*/
oSchedule:AllowSelectEvent := 0/*exDisallow*/
oSchedule:Calendar():Selection := "06/20/2012"
oEvents := oSchedule:Events()
oEvents:Add("06/20/2012 09:00:00","06/20/2012 11:00:00")
oEvents:Add("06/20/2012 11:00:00","06/20/2012 13:00:00")
oEvents:Add("06/20/2012 13:00:00","06/20/2012 15:00:00")
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
89
|
How can I prevent editing the events
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:AllowEditEvent := 0/*exDisallow*/
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
88
|
How can I prevent selecting the events
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:AllowSelectEvent := 0/*exDisallow*/
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
87
|
The event gets blue when selected. It is possible to draw a frame instead

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:SelectEventStyle := 816/*exLinesThicker+exLinesSolid*/
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
86
|
Is there an event that fires when the user selects a different day/week/month
PROCEDURE OnLayoutEndChanging(oSchedule,Operation)
DevOut( Transform(Operation,"") )
DevOut( "should be on exCalendarSelectionChange(1)" )
RETURN
PROCEDURE OnLayoutStartChanging(oSchedule,Operation)
DevOut( Transform(Operation,"") )
DevOut( "should be on exCalendarSelectionChange(1)" )
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:LayoutEndChanging := {|Operation| OnLayoutEndChanging(oSchedule,Operation)} /*Notifies your application once the control's layout has been changed.*/
oSchedule:LayoutStartChanging := {|Operation| OnLayoutStartChanging(oSchedule,Operation)} /*Occurs when the control's layout is about to be changed.*/
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
85
|
Can I use and display just the Caption of the Event

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oEvents
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:DefaultEventLongLabel := "<%=%5%>"
oSchedule:DefaultEventShortLabel := oSchedule:DefaultEventLongLabel()
oSchedule:Calendar():Selection := "06/20/2012"
oEvents := oSchedule:Events()
oEvents:Add("06/20/2012 09:00:00","06/20/2012 11:00:00"):Caption := "caption 1"
oEvents:Add("06/20/2012 11:00:00","06/20/2012 13:00:00"):Caption := "caption 2"
oEvents:Add("06/20/2012 13:00:00","06/20/2012 15:00:00"):Caption := "caption 3"
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
84
|
How can I use the Caption property of the Event

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oEvent,oEvent1
LOCAL oEvents
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:DefaultEventLongLabel := "<%=%256%><br><b><%=%5%>"
oSchedule:DefaultEventShortLabel := oSchedule:DefaultEventLongLabel()
oSchedule:Calendar():Selection := "06/20/2012"
oEvents := oSchedule:Events()
oEvents:Add("06/20/2012 09:00:00","06/20/2012 11:00:00"):Caption := "caption 1"
oEvent := oEvents:Add("06/20/2012 11:00:00","06/20/2012 13:00:00")
oEvent:LongLabel := ""
oEvent:ExtraLabel := "<%=%5%>"
oEvent:Caption := "caption 2"
oEvent1 := oEvents:Add("06/20/2012 13:00:00","06/20/2012 15:00:00")
oEvent1:LongLabel := "<%=%256%><br><b><%=%5%><br><fgcolor=808080>another text"
oEvent1:Caption := "caption 3"
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
83
|
Is it possible to display a view of appointments with more than one person

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oEvents
LOCAL oGroup,oGroup1,oGroup2
LOCAL oGroups
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:BeginUpdate()
oSchedule:Calendar():Selection := "06/20/2012"
oSchedule:DisplayGroupingButton := .T.
oSchedule:ShowGroupingEvents := .T.
oGroups := oSchedule:Groups()
oGroup := oGroups:Add(1,"Mihai")
oGroup:SetProperty("EventBackColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. ))
oGroup:SetProperty("HeaderForeColor",oGroup:EventBackColor())
oGroup:Visible := .T.
oGroup:Title := oGroup:Caption()
oGroup1 := oGroups:Add(2,"Dave")
oGroup1:SetProperty("EventBackColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,255,0 } ) , .F. ))
oGroup1:SetProperty("HeaderForeColor",oGroup1:EventBackColor())
oGroup1:Visible := .T.
oGroup1:Title := oGroup1:Caption()
oGroup2 := oGroups:Add(3,"Enrike")
oGroup2:SetProperty("EventBackColor",AutomationTranslateColor( GraMakeRGBColor ( { 128,128,255 } ) , .F. ))
oGroup2:SetProperty("HeaderForeColor",oGroup2:EventBackColor())
oGroup2:Visible := .T.
oGroup2:Title := oGroup2:Caption()
oSchedule:DefaultEventLongLabel := "<%=%256%><br><%=%263%>"
oEvents := oSchedule:Events()
oEvents:Add("06/20/2012 10:00:00","06/20/2012 13:30:00"):GroupID := 1
oEvents:Add("06/20/2012 11:00:00","06/20/2012 13:30:00"):GroupID := 2
oEvents:Add("06/20/2012 13:30:00","06/20/2012 15:00:00"):GroupID := 3
oSchedule:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
82
|
How can I prevent selecting more dates in the schedule view
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:ScrollBars := 0/*exNoScroll*/
oSchedule:AllowMoveSchedule := 0/*exDisallow*/
oSchedule:Calendar():SingleSel := .T.
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
81
|
How can I get ride of the control's scroll bars

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:ScrollBars := 0/*exNoScroll*/
oSchedule:AllowMoveSchedule := 0/*exDisallow*/
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
80
|
I am hiding the Calendar section of the control, the question is how can I select another date in the scheduler

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:OnResizeControl := 768/*exChangePanels+exHideSplitter*/
oSchedule:Calendar():Selection := "01/01/2001"
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
79
|
How can I add an event to indicate the Easter Sunday

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oCalendar
LOCAL oEvent
LOCAL oEvents
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oCalendar := oSchedule:Calendar()
oCalendar:ShowNonMonthDays := .F.
oCalendar:FirstWeekDay := 0/*exSunday*/
oCalendar:Selection := "month(value) in (3,4)"
oCalendar:HighlightEvent():SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor ( { 128,128,128 } ) , .F. ))
oCalendar:ShowYearScroll := .T.
oSchedule:SetProperty("Background",68/*exCalendarSelBackColorUnFocus*/,oSchedule:Background(19/*exCalendarSelBackColor*/))
oSchedule:SetProperty("Background",37/*exScheduleBorderSelColorUnFocus*/,oSchedule:Background(19/*exCalendarSelBackColor*/))
oEvents := oSchedule:Events()
oEvent := oEvents:Add("06/12/2012 10:00:00","06/12/2012 14:00:00")
oEvent:AllDayEvent := .T.
oEvent:Repetitive := "not(month(value) in (3,4,5)) ? 0 : ( floor(value)=(2:=floor(date(dateS('3/1/' + year(value)) + ((1:=(((255 - 11 * (year(value) mod 19)) - 21) mod 30) + 21) + (=:1 > 48 ? -1 : 0) + 6 - ((year(value) + int(year(value) / 4)) + =:1 + (=:1 > 48 ? -1 : 0) + 1) mod 7)))))"
oEvent:LongLabel := "EASTER of <%=year(%1)%> falls in<br><%=%1%>"
oEvent:ShortLabel := oEvent:LongLabel()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
78
|
I need a repetitive event happens every n-days, and stops after m-times. Can your control handle this

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oCalendar
LOCAL oEvent
LOCAL oEvents
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:SelectEventStyle := 304/*exLinesThick+exLinesSolid*/
oCalendar := oSchedule:Calendar()
oCalendar:NonworkingDays := 0
oCalendar:ShowNonMonthDays := .F.
oCalendar:FirstWeekDay := 0/*exSunday*/
oCalendar:Selection := "01/01/2012"
oCalendar:Selection := "month(value) = 6"
oCalendar:HighlightEvent():FontSize := 10
oSchedule:BorderSelStyle := -1/*exNoLines*/
oSchedule:SetProperty("Background",81/*exScheduleMarkTodayBackColor*/,AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. ))
oEvents := oSchedule:Events()
oEvent := oEvents:Add("06/12/2012 10:00:00","06/12/2012 14:00:00")
oEvent:Repetitive := "(value >= (0:=#6/1/2012#)) and ( (value - =:0) mod (1:=5) = 0) and (value-=:0) < (3*=:1)"
oEvent:Selected := .T.
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
77
|
How can I add a repetitive event to occur every n days

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oCalendar
LOCAL oEvent
LOCAL oEvents
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:SelectEventStyle := 304/*exLinesThick+exLinesSolid*/
oCalendar := oSchedule:Calendar()
oCalendar:NonworkingDays := 0
oCalendar:ShowNonMonthDays := .F.
oCalendar:FirstWeekDay := 0/*exSunday*/
oCalendar:Selection := "month(value) = 6"
oCalendar:HighlightEvent():FontSize := 10
oSchedule:BorderSelStyle := -1/*exNoLines*/
oSchedule:SetProperty("Background",81/*exScheduleMarkTodayBackColor*/,AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. ))
oEvents := oSchedule:Events()
oEvent := oEvents:Add("06/12/2012 10:00:00","06/12/2012 14:00:00")
oEvent:Repetitive := "value >= #6/1/2012# and ( (value - #6/1/2012#) mod 5 = 0)"
oEvent:Selected := .T.
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
76
|
I am using the AutoHide option, just wondering if there is any event that notifies once the calendar panel shows or hides
PROCEDURE OnLayoutEndChanging(oSchedule,Operation)
DevOut( "End exLayoutCalendarAutoHide(7)" )
DevOut( Transform(Operation,"") )
RETURN
PROCEDURE OnLayoutStartChanging(oSchedule,Operation)
DevOut( "Start exLayoutCalendarAutoHide(7)" )
DevOut( Transform(Operation,"") )
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:LayoutEndChanging := {|Operation| OnLayoutEndChanging(oSchedule,Operation)} /*Notifies your application once the control's layout has been changed.*/
oSchedule:LayoutStartChanging := {|Operation| OnLayoutStartChanging(oSchedule,Operation)} /*Occurs when the control's layout is about to be changed.*/
oSchedule:OnResizeControl := 2048/*exCalendarAutoHide*/
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
75
|
Is it possible to display the same event on multiple days

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oCalendar
LOCAL oEvent
LOCAL oEvents
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:SelectEventStyle := 304/*exLinesThick+exLinesSolid*/
oCalendar := oSchedule:Calendar()
oCalendar:NonworkingDays := 0
oCalendar:ShowNonMonthDays := .F.
oCalendar:FirstWeekDay := 0/*exSunday*/
oCalendar:Selection := "01/01/2012"
oCalendar:Selection := "month(value) = 6"
oCalendar:HighlightEvent():FontSize := 10
oSchedule:BorderSelStyle := -1/*exNoLines*/
oSchedule:SetProperty("Background",81/*exScheduleMarkTodayBackColor*/,AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. ))
oEvents := oSchedule:Events()
oEvent := oEvents:Add("06/12/2012 10:00:00","06/12/2012 14:00:00")
oEvent:Repetitive := "value in (#6/8/2012#,#6/11/2012#,#6/20/2012#)"
oEvent:Selected := .T.
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
74
|
How can I change the selection background color so it is the same if the control loses the focus

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oCalendar
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oCalendar := oSchedule:Calendar()
oCalendar:NonworkingDays := 0
oCalendar:ShowNonMonthDays := .F.
oCalendar:Selection := "06/12/2012"
oCalendar:HighlightEvent():FontSize := 10
oSchedule:BorderSelStyle := -1/*exNoLines*/
oSchedule:SetProperty("Background",81/*exScheduleMarkTodayBackColor*/,AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. ))
oSchedule:Events():Add("06/12/2012 10:00:00","06/12/2012 14:00:00")
oSchedule:SetProperty("Background",68/*exCalendarSelBackColorUnFocus*/,oSchedule:Background(19/*exCalendarSelBackColor*/))
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
73
|
How can I add a repetitive event so it occurs every Monday

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oCalendar
LOCAL oEvents
LOCAL oHighlight
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oCalendar := oSchedule:Calendar()
oCalendar:NonworkingDays := 0
oCalendar:ShowNonMonthDays := .F.
oCalendar:FirstWeekDay := 0/*exSunday*/
oCalendar:Selection := "month(value) = 6"
oHighlight := oCalendar:HighlightEvent()
oHighlight:FontSize := 10
oHighlight:SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor ( { 128,128,128 } ) , .F. ))
oSchedule:BorderSelStyle := -1/*exNoLines*/
oSchedule:SetProperty("Background",81/*exScheduleMarkTodayBackColor*/,AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. ))
oEvents := oSchedule:Events()
oEvents:Add("06/12/2012 10:00:00","06/12/2012 14:00:00"):Repetitive := "weekday(value) = 1"
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
72
|
How can I select the current month

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oCalendar
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oCalendar := oSchedule:Calendar()
oCalendar:NonworkingDays := 0
oCalendar:ShowNonMonthDays := .F.
oCalendar:FirstWeekDay := 0/*exSunday*/
oCalendar:Selection := "month(value) = month(date(``))"
oSchedule:BorderSelStyle := -1/*exNoLines*/
oSchedule:SetProperty("Background",81/*exScheduleMarkTodayBackColor*/,AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. ))
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
71
|
How can I select the next two days

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oCalendar
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oCalendar := oSchedule:Calendar()
oCalendar:NonworkingDays := 0
oCalendar:ShowNonMonthDays := .F.
oCalendar:FirstWeekDay := 0/*exSunday*/
oCalendar:Selection := "(value - int(date(``))) in (1,2,0)"
oSchedule:BorderSelStyle := -1/*exNoLines*/
oSchedule:SetProperty("Background",81/*exScheduleMarkTodayBackColor*/,AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. ))
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
70
|
How can I select the last two days

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oCalendar
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oCalendar := oSchedule:Calendar()
oCalendar:NonworkingDays := 0
oCalendar:ShowNonMonthDays := .F.
oCalendar:FirstWeekDay := 0/*exSunday*/
oCalendar:Selection := "(int(date(``)) - value) in (1,2,0)"
oSchedule:BorderSelStyle := -1/*exNoLines*/
oSchedule:SetProperty("Background",81/*exScheduleMarkTodayBackColor*/,AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. ))
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
69
|
How can I select the current week
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oCalendar
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oCalendar := oSchedule:Calendar()
oCalendar:NonworkingDays := 0
oCalendar:ShowNonMonthDays := .F.
oCalendar:FirstWeekDay := 0/*exSunday*/
oCalendar:Selection := "(int((yearday(value) -1- ((7-weekday(value - yearday(value) + 1)) mod 7) )/7) = int((yearday(date(``))-1)/7))"
oSchedule:BorderSelStyle := -1/*exNoLines*/
oSchedule:SetProperty("Background",81/*exScheduleMarkTodayBackColor*/,AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. ))
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
68
|
Is it possible to highlight or change the background or foreground color for the today date in the schedule panel

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oCalendar
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oCalendar := oSchedule:Calendar()
oCalendar:NonworkingDays := 0
oCalendar:ShowNonMonthDays := .F.
oCalendar:FirstWeekDay := 0/*exSunday*/
oCalendar:Selection := "month(value) = month(date(``)) and (int((yearday(value) -1- ((7-weekday(value - yearday(value) + 1)) mod 7) )/7) = int((yearday(date(``))-1)/7))"
oSchedule:BorderSelStyle := -1/*exNoLines*/
oSchedule:SetProperty("Background",81/*exScheduleMarkTodayBackColor*/,AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. ))
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
67
|
How can I display no working/non-working days in the control

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oCalendar
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oCalendar := oSchedule:Calendar()
oCalendar:NonworkingDays := 0
oCalendar:ShowNonMonthDays := .F.
oCalendar:FirstWeekDay := 1/*exMonday*/
oSchedule:BorderSelStyle := -1/*exNoLines*/
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
66
|
The schedule displays a blue border around the selected dates. How can I get ride of that

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oCalendar
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oCalendar := oSchedule:Calendar()
oCalendar:ShowNonMonthDays := .F.
oCalendar:Selection := "06/18/2012"
oSchedule:BorderSelStyle := -1/*exNoLines*/
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
65
|
The calendar panel shows days that belongs to another month. How can I display just the days within the current month

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:Calendar():ShowNonMonthDays := .F.
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
64
|
Is it possible to show the non-working days with a solid color instead

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oCalendar
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oCalendar := oSchedule:Calendar()
oCalendar:Selection := "06/14/2012"
oCalendar:Selection := "value in (#6/14/2012#,#6/15/2012#,#6/16/2012#,#6/17/2012#)"
oCalendar:FirstWeekDay := 1/*exMonday*/
oCalendar:NonworkingDaysPattern := 1/*exPatternSolid*/
oCalendar:SetProperty("NonworkingDaysColor",AutomationTranslateColor( GraMakeRGBColor ( { 224,224,224 } ) , .F. ))
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
63
|
How can I display the now-working days in the schedule panel too

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oCalendar
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oCalendar := oSchedule:Calendar()
oCalendar:Selection := "06/14/2012"
oCalendar:Selection := "value in (#6/14/2012#,#6/15/2012#,#6/16/2012#,#6/17/2012#)"
oCalendar:FirstWeekDay := 1/*exMonday*/
oSchedule:NonworkingTimes():Add(Transform(1,""),"00:00","00:00",-1)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
62
|
How can I make the control read-only

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:AllowCreateEvent := 0/*exDisallow*/
oSchedule:AllowMoveEvent := 0/*exDisallow*/
oSchedule:AllowResizeEvent := 0/*exDisallow*/
oSchedule:AllowMoveSchedule := 1/*exLeftClick*/
oSchedule:AllowSelectEvent := 0/*exDisallow*/
oSchedule:Calendar():Selection := "05/24/2012"
oSchedule:Calendar():Selection := "value in (#05/24/2012#,#05/25/2012#,#05/26/2012#)"
oSchedule:Events():Add("05/25/2012 09:30:00","05/25/2012 13:00:00")
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
61
|
How can I check/uncheck a group, so it is visible after I add it

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:DisplayGroupingButton := .T.
oSchedule:ShowGroupingEvents := .T.
oSchedule:Groups():Add(1,"Pro"):Visible := .T.
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
60
|
The drop down button to show groups is not visible, even I set the DisplayGroupingButton. What Can I do

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:DisplayGroupingButton := .T.
oSchedule:ShowGroupingEvents := .T.
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
59
|
It is possible to translate "All" to "Todos" or to something else

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:SetProperty("Description",0/*exGroupBarAll*/,"(todos)")
oSchedule:DisplayGroupingButton := .T.
oSchedule:ShowGroupingEvents := .T.
oSchedule:Groups():Add(1,"Pro")
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
58
|
How can I remove the control's scroll bars

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:ScrollBars := 0/*exNoScroll*/
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
57
|
How can I select a month

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:Calendar():Selection := "month(value) = month(date(``))"
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
56
|
How can I display two or more dates in the scheduler (Method 2)

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oCalendar
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oCalendar := oSchedule:Calendar()
oCalendar:Selection := "05/24/2012"
oCalendar:Selection := "value in ( #5/24/2012#, #5/25/2012# )"
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
55
|
How can I display two or more dates in the scheduler (Method 1)

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oCalendar
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oCalendar := oSchedule:Calendar()
oCalendar:Selection := "0"
oCalendar:SetProperty("SelectDate","05/24/2012",.T.)
oCalendar:SetProperty("SelectDate","05/25/2012",.T.)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
54
|
How can I define a different color for nonworking part for different days

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oCalendar
LOCAL oNonworkingPattern
LOCAL oNonworkingPatterns
LOCAL oNonworkingTimes
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:BeginUpdate()
oCalendar := oSchedule:Calendar()
oCalendar:Selection := "05/21/2012"
oCalendar:Selection := "(value >= #05/21/2012#) and (value <= #05/25/2012#)"
oCalendar:FirstWeekDay := 1/*exMonday*/
oNonworkingPatterns := oSchedule:NonworkingPatterns()
oNonworkingPatterns:Add(1234,6/*exPatternBDiagonal*/):Pattern():SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. ))
oNonworkingPatterns:Add(1235,6/*exPatternBDiagonal*/):Pattern():SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 0,255,0 } ) , .F. ))
oNonworkingPatterns:Add(1236,6/*exPatternBDiagonal*/):Pattern():SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,255 } ) , .F. ))
oNonworkingPattern := oNonworkingPatterns:Add(1237,778/*exPatternFrameThick+exPatternCross*/)
oNonworkingPattern:Pattern():SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 128,128,128 } ) , .F. ))
oNonworkingPattern:Pattern():SetProperty("FrameColor",AutomationTranslateColor( GraMakeRGBColor ( { 64,64,64 } ) , .F. ))
oNonworkingPattern:SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,255,0 } ) , .F. ))
oNonworkingTimes := oSchedule:NonworkingTimes()
oNonworkingTimes:Add("weekday(value) in (0,1)","10:00","11:45",1234)
oNonworkingTimes:Add("weekday(value) = 2","00:00","08:45",1235)
oNonworkingTimes:Add("weekday(value) = 2","15:00","24:00",1235)
oNonworkingTimes:Add("weekday(value) in (3,5)","12:15","13:00",1236)
oNonworkingTimes:Add("weekday(value) = 4","13:30","15:00",1237)
oSchedule:ShowNonworkingTime := 3/*exShowNonworkingTimeSemi*/
oSchedule:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
53
|
Is it possible to show both nonworking and the events, using semi-transparent color

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oCalendar
LOCAL oNonworkingPattern,oNonworkingPattern1
LOCAL oNonworkingPatterns
LOCAL oNonworkingTimes
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oCalendar := oSchedule:Calendar()
oCalendar:Selection := "05/24/2012"
oCalendar:Selection := "value in (#05/24/2012#,#05/25/2012#,#05/26/2012#)"
oNonworkingPatterns := oSchedule:NonworkingPatterns()
oNonworkingPatterns:Add(1234,11/*exPatternBrick*/)
oNonworkingPattern := oNonworkingPatterns:Add(9871,780/*exPatternFrameThick+exPatternYard*/)
oNonworkingPattern:SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. ))
oNonworkingPattern1 := oNonworkingPatterns:Add(9872,780/*exPatternFrameThick+exPatternYard*/)
oNonworkingPattern1:SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,255,0 } ) , .F. ))
oNonworkingTimes := oSchedule:NonworkingTimes()
oNonworkingTimes:Add("1","00:00","08:45",1234)
oNonworkingTimes:Add("weekday(value) = 5","10:00","11:45",9871)
oNonworkingTimes:Add("weekday(value) = 4","12:00","12:35",9872)
oSchedule:Events():Add("05/25/2012 09:30:00","05/25/2012 13:00:00")
oSchedule:ShowNonworkingTime := 3/*exShowNonworkingTimeSemi*/
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
52
|
Is it possible to show the nonworking part behind, on the back

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oCalendar
LOCAL oNonworkingPattern,oNonworkingPattern1
LOCAL oNonworkingPatterns
LOCAL oNonworkingTimes
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oCalendar := oSchedule:Calendar()
oCalendar:Selection := "05/24/2012"
oCalendar:Selection := "value in (#05/24/2012#,#05/25/2012#,#05/26/2012#)"
oNonworkingPatterns := oSchedule:NonworkingPatterns()
oNonworkingPatterns:Add(1234,11/*exPatternBrick*/)
oNonworkingPattern := oNonworkingPatterns:Add(9871,780/*exPatternFrameThick+exPatternYard*/)
oNonworkingPattern:SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. ))
oNonworkingPattern1 := oNonworkingPatterns:Add(9872,780/*exPatternFrameThick+exPatternYard*/)
oNonworkingPattern1:SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,255,0 } ) , .F. ))
oNonworkingTimes := oSchedule:NonworkingTimes()
oNonworkingTimes:Add("1","00:00","08:45",1234)
oNonworkingTimes:Add("weekday(value) = 5","10:00","11:45",9871)
oNonworkingTimes:Add("weekday(value) = 4","12:00","12:35",9872)
oSchedule:Events():Add("05/25/2012 09:30:00","05/25/2012 13:00:00")
oSchedule:ShowNonworkingTime := 1/*exShowNonworkingTimeBack*/
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
51
|
Can you explain how the non working day patterns work and how to define
for different days of the week

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oCalendar
LOCAL oNonworkingPattern,oNonworkingPattern1
LOCAL oNonworkingPatterns
LOCAL oNonworkingTimes
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oCalendar := oSchedule:Calendar()
oCalendar:Selection := "05/24/2012"
oCalendar:Selection := "value in (#05/24/2012#,#05/25/2012#,#05/26/2012#)"
oNonworkingPatterns := oSchedule:NonworkingPatterns()
oNonworkingPatterns:Add(1234,11/*exPatternBrick*/)
oNonworkingPattern := oNonworkingPatterns:Add(9871,780/*exPatternFrameThick+exPatternYard*/)
oNonworkingPattern:SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. ))
oNonworkingPattern1 := oNonworkingPatterns:Add(9872,780/*exPatternFrameThick+exPatternYard*/)
oNonworkingPattern1:SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,255,0 } ) , .F. ))
oNonworkingTimes := oSchedule:NonworkingTimes()
oNonworkingTimes:Add("1","00:00","08:45",1234)
oNonworkingTimes:Add("weekday(value) = 5","10:00","11:45",9871)
oNonworkingTimes:Add("weekday(value) = 4","12:00","12:35",9872)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
50
|
How can I add a nonworking time

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oNonworkingTimes
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oNonworkingTimes := oSchedule:NonworkingTimes()
oNonworkingTimes:Add("1","00:00","08:45",-1)
oNonworkingTimes:Add("weekday(value) = weekday(date(``))","10:00","11:15",-1)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
49
|
How can I get the event from the cursor

PROCEDURE OnMouseMove(oSchedule,Button,Shift,X,Y)
DevOut( "Calendar.DateFromPoint" )
DevOut( Transform(oSchedule:Calendar:DateFromPoint(-1,-1),"") )
DevOut( "AnchorFromPoint" )
DevOut( oSchedule:AnchorFromPoint(-1,-1) )
DevOut( "DateTimeFromPoint" )
DevOut( Transform(oSchedule:DateTimeFromPoint(-1,-1),"") )
DevOut( "TimeFromPoint" )
DevOut( Transform(oSchedule:TimeFromPoint(-1,-1),"") )
DevOut( "TimeScaleFromPoint" )
DevOut( Transform(oSchedule:TimeScaleFromPoint(-1,-1),"") )
DevOut( "GroupFromPoint" )
DevOut( Transform(oSchedule:GroupFromPoint(-1,-1),"") )
DevOut( "GroupHeaderFromPoint" )
DevOut( Transform(oSchedule:GroupHeaderFromPoint(-1,-1),"") )
DevOut( "MarkZoneFromPoint" )
DevOut( Transform(oSchedule:MarkZoneFromPoint(-1,-1),"") )
DevOut( "NonworkingTimeFromPoint" )
DevOut( Transform(oSchedule:NonworkingTimeFromPoint(-1,-1),"") )
DevOut( "MarkTimeFromPoint" )
DevOut( Transform(oSchedule:MarkTimeFromPoint(-1,-1),"") )
DevOut( "EventFromPoint" )
DevOut( Transform(oSchedule:EventFromPoint(-1,-1),"") )
DevOut( "PictureFromPoint" )
DevOut( oSchedule:PictureFromPoint(-1,-1) )
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oEvents
LOCAL oMarkTime
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oSchedule,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/
oSchedule:BeginUpdate()
oSchedule:AllowMultiDaysEvent := .F.
oSchedule:AllowCreateEvent := 17/*exCTRLKey+exLeftClick*/
oSchedule:AllowMoveEvent := 17/*exCTRLKey+exLeftClick*/
oSchedule:AllowMoveTimeScale := 1/*exLeftClick*/
oSchedule:AllowMoveSchedule := 1/*exLeftClick*/
oSchedule:AllowSelectEvent := 17/*exCTRLKey+exLeftClick*/
oSchedule:AllowResizeEvent := 1/*exLeftClick*/
oSchedule:Calendar():MaxMonthY := 6
oSchedule:SelectEventStyle := 816/*exLinesThicker+exLinesSolid*/
oSchedule:Calendar():Selection := "05/24/2012"
oMarkTime := oSchedule:MarkTimes():Add("timer","05/24/2012 11:35:00")
oMarkTime:TimeScaleLabel := ""
oMarkTime:Label := "<fgcolor=FF0000>Time: <b><%hh%>:<%nn%> <%AM/PM%></b><br>Date: <b><%loc_sdate%>"
oMarkTime:LabelAlign := 34/*exBottomRight*/
oMarkTime:Line := 780/*exLinesThicker+exLinesDash*/
oMarkTime:SetProperty("BodyEventBackColor",AutomationTranslateColor( GraMakeRGBColor ( { 128,0,0 } ) , .F. ))
oMarkTime:SetProperty("BodyEventForeColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,255,255 } ) , .F. ))
oMarkTime:Movable := .T.
oEvents := oSchedule:Events()
oEvents:Add("05/24/2012 09:00:00","05/24/2012 12:00:00")
oEvents:Add("05/24/2012 10:45:00","05/24/2012 12:45:00")
oEvents:Add("05/24/2012 11:30:00","05/24/2012 14:30:00")
oEvents:Add("05/24/2012 12:45:00","05/24/2012 15:45:00")
oSchedule:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
48
|
How can I show the timer only in the chart section

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oMarkTime
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:Calendar():Selection := "05/24/2012"
oMarkTime := oSchedule:MarkTimes():Add("timer","05/24/2012 11:35:00")
oMarkTime:Label := " <font ;12>timer</font> "
oMarkTime:LabelAlign := 34/*exBottomRight*/
oMarkTime:TimeScaleLabel := ""
oMarkTime:TimeScaleLine := -1/*exNoLines*/
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
47
|
How can I let the user to move the timer from the cursor

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oEvents
LOCAL oMarkTime
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:BeginUpdate()
oSchedule:Calendar():Selection := "05/24/2012"
oMarkTime := oSchedule:MarkTimes():Add("timer","05/24/2012 11:35:00")
oMarkTime:TimeScaleLabel := ""
oMarkTime:Label := "<fgcolor=FF0000>Time: <b><%hh%>:<%nn%> <%AM/PM%></b><br>Date: <b><%loc_sdate%>"
oMarkTime:LabelAlign := 34/*exBottomRight*/
oMarkTime:Line := 780/*exLinesThicker+exLinesDash*/
oMarkTime:SetProperty("BodyEventBackColor",AutomationTranslateColor( GraMakeRGBColor ( { 128,0,0 } ) , .F. ))
oMarkTime:SetProperty("BodyEventForeColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,255,255 } ) , .F. ))
oMarkTime:Movable := .T.
oEvents := oSchedule:Events()
oEvents:Add("05/24/2012 09:00:00","05/24/2012 12:00:00")
oEvents:Add("05/24/2012 10:45:00","05/24/2012 12:45:00")
oEvents:Add("05/24/2012 11:30:00","05/24/2012 14:30:00")
oEvents:Add("05/24/2012 12:45:00","05/24/2012 15:45:00")
oSchedule:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
46
|
How can I show the timer only in the time scale

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oMarkTime
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:Calendar():Selection := "05/24/2012"
oMarkTime := oSchedule:MarkTimes():Add("timer","05/24/2012 11:35:00")
oMarkTime:TimeScaleLabel := " <font ;12>timer</font> "
oMarkTime:Line := -1/*exNoLines*/
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
45
|
I have seen some screen shots and noticed, that you can place images on a timer. How can I do that

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oEvents
LOCAL oMarkTime
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:BeginUpdate()
oSchedule:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
oSchedule:SetProperty("HTMLPicture","pic1","c:\exontrol\images\zipdisk.gif")
oSchedule:Calendar():Selection := "05/24/2012"
oSchedule:StatusEventSize := 8
oSchedule:SetProperty("StatusEventColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,255,255 } ) , .F. ))
oMarkTime := oSchedule:MarkTimes():Add("timer","05/24/2012 11:35:00")
oMarkTime:Label := "<img>pic1</img>"
oMarkTime:TimeScaleLabel := "<fgcolor=FF0000><b><%hh%>:<%nn%> <%AM/PM%><br><c><img>1</img>"
oMarkTime:LabelAlign := 18/*exMiddleRight*/
oMarkTime:Line := 780/*exLinesThicker+exLinesDash*/
oMarkTime:Movable := .T.
oMarkTime:StatusEventPattern():Type := 3/*exPatternShadow*/
oMarkTime:StatusEventPattern():SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. ))
oEvents := oSchedule:Events()
oEvents:Add("05/24/2012 09:00:00","05/24/2012 12:00:00")
oEvents:Add("05/24/2012 10:45:00","05/24/2012 12:45:00")
oEvents:Add("05/24/2012 11:30:00","05/24/2012 14:30:00")
oEvents:Add("05/24/2012 12:45:00","05/24/2012 15:45:00")
oSchedule:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
44
|
How can I change the timer's color

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oMarkTime
LOCAL oMarkTimes
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:BeginUpdate()
oSchedule:Calendar():Selection := "05/24/2012"
oMarkTimes := oSchedule:MarkTimes()
oMarkTime := oMarkTimes:Add("timer","05/24/2012 11:35:00")
oMarkTime:Movable := .T.
oMarkTime:SetProperty("LineColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,255 } ) , .F. ))
oMarkTime:SetProperty("StatusEventBackColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,255 } ) , .F. ))
oMarkTime:SetProperty("TimeScaleLineColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,255 } ) , .F. ))
oMarkTime:TimeScaleLabel := "<fgcolor=0000FF><b><%hh%>:<%nn%> <%AM/PM%>"
oSchedule:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
43
|
Can I add multiple timers with different colors

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oEvents
LOCAL oMarkTime,oMarkTime1
LOCAL oMarkTimes
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:BeginUpdate()
oSchedule:Calendar():Selection := "05/24/2012"
oMarkTimes := oSchedule:MarkTimes()
oMarkTime := oMarkTimes:Add("timer1","05/24/2012 09:35:00")
oMarkTime:Movable := .T.
oMarkTime:SetProperty("StatusEventBackColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. ))
oMarkTime1 := oMarkTimes:Add("timer2","05/24/2012 13:35:00")
oMarkTime1:Movable := .T.
oMarkTime1:SetProperty("LineColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,255,0 } ) , .F. ))
oMarkTime1:SetProperty("StatusEventBackColor",oMarkTime1:LineColor())
oMarkTime1:SetProperty("TimeScaleLineColor",oMarkTime1:LineColor())
oMarkTime1:TimeScaleLabel := "<fgcolor=00FF00><b><%hh%>:<%nn%> <%AM/PM%>"
oEvents := oSchedule:Events()
oEvents:Add("05/24/2012 09:00:00","05/24/2012 12:00:00")
oEvents:Add("05/24/2012 10:45:00","05/24/2012 12:45:00")
oEvents:Add("05/24/2012 11:30:00","05/24/2012 14:30:00")
oEvents:Add("05/24/2012 12:45:00","05/24/2012 15:45:00")
oSchedule:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
42
|
How can I specify a different color for the status of the event that intersects with the timer

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oEvents
LOCAL oMarkTime
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:BeginUpdate()
oSchedule:Calendar():Selection := "05/24/2012"
oMarkTime := oSchedule:MarkTimes():Add("timer","05/24/2012 11:35:00")
oMarkTime:TimeScaleLabelAlign := 1/*exTopCenter*/
oMarkTime:Line := 257/*exLinesThick+exLinesHDot4*/
oMarkTime:TimeScaleLine := 1/*exLinesHDot4*/
oMarkTime:SetProperty("StatusEventBackColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. ))
oMarkTime:Movable := .T.
oEvents := oSchedule:Events()
oEvents:Add("05/24/2012 09:00:00","05/24/2012 12:00:00")
oEvents:Add("05/24/2012 10:45:00","05/24/2012 12:45:00")
oEvents:Add("05/24/2012 11:30:00","05/24/2012 14:30:00")
oEvents:Add("05/24/2012 12:45:00","05/24/2012 15:45:00")
oSchedule:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
41
|
How can the chart displays the events from the timer with a different color

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oEvents
LOCAL oMarkTime
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:BeginUpdate()
oSchedule:Calendar():Selection := "05/24/2012"
oMarkTime := oSchedule:MarkTimes():Add("timer","05/24/2012 11:35:00")
oMarkTime:TimeScaleLabel := ""
oMarkTime:Label := "<fgcolor=FF0000>Time: <b><%hh%>:<%nn%> <%AM/PM%></b><br>Date: <b><%loc_sdate%>"
oMarkTime:LabelAlign := 34/*exBottomRight*/
oMarkTime:Line := 780/*exLinesThicker+exLinesDash*/
oMarkTime:SetProperty("BodyEventBackColor",AutomationTranslateColor( GraMakeRGBColor ( { 128,0,0 } ) , .F. ))
oMarkTime:SetProperty("BodyEventForeColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,255,255 } ) , .F. ))
oMarkTime:Movable := .T.
oEvents := oSchedule:Events()
oEvents:Add("05/24/2012 09:00:00","05/24/2012 12:00:00")
oEvents:Add("05/24/2012 10:45:00","05/24/2012 12:45:00")
oEvents:Add("05/24/2012 11:30:00","05/24/2012 14:30:00")
oEvents:Add("05/24/2012 12:45:00","05/24/2012 15:45:00")
oSchedule:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
40
|
Is it possible to display the timer's label on the chart, instead time scales

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oEvents
LOCAL oMarkTime
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:BeginUpdate()
oSchedule:Calendar():Selection := "05/24/2012"
oMarkTime := oSchedule:MarkTimes():Add("timer","05/24/2012 11:35:00")
oMarkTime:TimeScaleLabel := ""
oMarkTime:Label := "<fgcolor=FF0000>Time: <b><%hh%>:<%nn%> <%AM/PM%></b><br>Date: <b><%loc_sdate%>"
oMarkTime:LabelAlign := 34/*exBottomRight*/
oMarkTime:Line := 780/*exLinesThicker+exLinesDash*/
oEvents := oSchedule:Events()
oEvents:Add("05/24/2012 09:00:00","05/24/2012 12:00:00")
oEvents:Add("05/24/2012 10:45:00","05/24/2012 12:45:00")
oEvents:Add("05/24/2012 11:30:00","05/24/2012 14:30:00")
oEvents:Add("05/24/2012 12:45:00","05/24/2012 15:45:00")
oSchedule:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
39
|
How can I add a timer to the scheduler

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oEvents
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:BeginUpdate()
oSchedule:Calendar():Selection := "05/24/2012"
oSchedule:MarkTimes():Add("timer","05/24/2012 11:35:00")
oEvents := oSchedule:Events()
oEvents:Add("05/24/2012 09:00:00","05/24/2012 12:00:00")
oEvents:Add("05/24/2012 10:45:00","05/24/2012 12:45:00")
oEvents:Add("05/24/2012 11:30:00","05/24/2012 14:30:00")
oEvents:Add("05/24/2012 12:45:00","05/24/2012 15:45:00")
oSchedule:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
38
|
Is it possible to define the small increment to 5 minutes

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:DayEndTime := "10:00"
oSchedule:TimeScales:Item(0):MinorTimeRuler := "00:05"
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
37
|
How can I change the time format to 24 hours to be displayed in the control's time scale

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oTimeScale
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oTimeScale := oSchedule:TimeScales:Item(0)
oTimeScale:MajorTimeLabel := "<%hh%>:<%nn%>"
oTimeScale:Width := 32
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
36
|
How can I change the time zone

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oTimeScale
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:DayEndTime := "13:00"
oTimeScale := oSchedule:TimeScales:Item(0)
oTimeScale:TimeZone := "+03:00"
oTimeScale:Caption := oTimeScale:TimeZone()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
35
|
Is it possible to add more time scales

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oTimeScale
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:DayEndTime := "13:00"
oTimeScale := oSchedule:TimeScales():Add("+03:00")
oTimeScale:AlignLeft := .F.
oTimeScale:Caption := "EST <b>+03"
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
34
|
How can I get any event to be notified if a picture or icon is clicked (Method 2)

PROCEDURE OnPictureClick(oSchedule,Key)
DevOut( Transform(Key,"") )
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oEvents
LOCAL oExPictures
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:PictureClick := {|Key| OnPictureClick(oSchedule,Key)} /*Occurs when the user clicks a picture within an event ( Event.Pictures/ExtraPictures ).*/
oSchedule:BeginUpdate()
oSchedule:ShowSelectEvent := .F.
oSchedule:Calendar():Selection := "05/24/2012"
oSchedule:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
oExPictures := oSchedule:Pictures()
oExPictures:Add("pic1","c:\exontrol\images\card.png")
oExPictures:Add("pic2","c:\exontrol\images\diary.png")
oEvents := oSchedule:Events()
oEvents:Add("05/24/2012 10:00:00","05/24/2012 12:00:00"):Pictures := "pic1/pic2"
oEvents:Add("05/24/2012 10:45:00","05/24/2012 12:45:00"):Pictures := "1,2/3"
oEvents:Add("05/24/2012 13:00:00","05/24/2012 15:45:00"):ExtraPictures := "pic2/1"
oSchedule:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
33
|
How can I display a tooltip for an anchor element, for instance

PROCEDURE OnMouseMove(oSchedule,Button,Shift,X,Y)
LOCAL s
s := oSchedule:AnchorFromPoint(-1,-1)
oSchedule:ShowToolTip(Transform(s,""),"info","","+16")
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oEvents
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oSchedule,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/
oSchedule:BeginUpdate()
oSchedule:ShowSelectEvent := .F.
oSchedule:Calendar():Selection := "05/24/2012"
oEvents := oSchedule:Events()
oEvents:Add("05/24/2012 10:00:00","05/24/2012 12:00:00")
oEvents:Add("05/24/2012 10:45:00","05/24/2012 12:45:00"):ExtraLabel := "<a remove>remove</a>"
oEvents:Add("05/24/2012 13:45:00","05/24/2012 15:45:00")
oSchedule:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
32
|
Is it possible to prevent selecting events
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oEvents
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:BeginUpdate()
oSchedule:ShowSelectEvent := .F.
oSchedule:Calendar():Selection := "05/24/2012"
oEvents := oSchedule:Events()
oEvents:Add("05/24/2012 10:00:00","05/24/2012 12:00:00")
oEvents:Add("05/24/2012 10:45:00","05/24/2012 12:45:00"):Selected := .T.
oEvents:Add("05/24/2012 13:45:00","05/24/2012 15:45:00")
oSchedule:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
31
|
How can I get any event to be notified if a picture or icon is clicked (Method 1)

PROCEDURE OnAnchorClick(oSchedule,AnchorID,Options)
DevOut( Transform(AnchorID,"") )
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oEvents
LOCAL oExPictures
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:AnchorClick := {|AnchorID,Options| OnAnchorClick(oSchedule,AnchorID,Options)} /*Occurs when an anchor element is clicked.*/
oSchedule:BeginUpdate()
oSchedule:ShowSelectEvent := .F.
oSchedule:Calendar():Selection := "05/24/2012"
oSchedule:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
oExPictures := oSchedule:Pictures()
oExPictures:Add("pic1","c:\exontrol\images\card.png")
oExPictures:Add("pic2","c:\exontrol\images\diary.png")
oEvents := oSchedule:Events()
oEvents:Add("05/24/2012 10:00:00","05/24/2012 12:00:00"):ExtraLabel := "<a pic1><img>pic1:32</img></a>"
oEvents:Add("05/24/2012 10:45:00","05/24/2012 12:45:00"):ExtraLabel := "<a pic2><img>pic2:48</img></a>"
oEvents:Add("05/24/2012 13:45:00","05/24/2012 15:45:00"):LongLabel := "Start: <%=%1%><br>End: <%=%2%><br><br>Icon: <a 1><img>1</img></a> - <a 2><img>2</img></a>"
oSchedule:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
30
|
How can I display a picture or an icon to an event

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oEvent
LOCAL oEvents
LOCAL oExPictures
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:BeginUpdate()
oSchedule:Calendar():Selection := "05/24/2012"
oSchedule:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
oExPictures := oSchedule:Pictures()
oExPictures:Add("pic1","c:\exontrol\images\card.png")
oExPictures:Add("pic2","c:\exontrol\images\diary.png")
oEvents := oSchedule:Events()
oEvents:Add("05/24/2012 10:00:00","05/24/2012 12:00:00"):ExtraLabel := "<img>pic1:32</img>"
oEvents:Add("05/24/2012 10:45:00","05/24/2012 12:45:00"):ExtraLabel := "<img>pic2:48</img>"
oEvents:Add("05/24/2012 11:30:00","05/24/2012 14:30:00"):Pictures := "1/2,3/pic1"
oEvent := oEvents:Add("05/24/2012 12:45:00","05/24/2012 15:45:00")
oEvent:ExtraPictures := "1/2"
oEvent:Pictures := "1,pic1,2,pic2/3"
oSchedule:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
29
|
Is it possible to display the group's caption or ID on the event's label

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oEvents
LOCAL oGroup,oGroup1
LOCAL oGroups
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:BeginUpdate()
oSchedule:Calendar():Selection := "05/24/2012"
oGroups := oSchedule:Groups()
oGroup := oGroups:Add(1,"Group 1")
oGroup:Visible := .T.
oGroup:SetProperty("EventBackColor",AutomationTranslateColor( GraMakeRGBColor ( { 128,128,128 } ) , .F. ))
oGroup:Title := "1'st Group"
oGroup1 := oGroups:Add(2,"Group 2")
oGroup1:Visible := .T.
oGroup1:SetProperty("EventBackColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. ))
oGroup1:Title := "2'nd Group"
oSchedule:DefaultEventLongLabel := "<%=%256%><br>Group's Caption: <b><%=%262%></b><br>Group's Title: <b><%=%263%></b>"
oSchedule:DefaultEventShortLabel := oSchedule:DefaultEventLongLabel()
oEvents := oSchedule:Events()
oEvents:Add("05/24/2012 10:00:00","05/24/2012 12:00:00"):GroupID := 1
oEvents:Add("05/24/2012 10:45:00","05/24/2012 12:30:00"):GroupID := 2
oEvents:Add("05/24/2012 12:30:00","05/24/2012 14:30:00"):GroupID := 1
oSchedule:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
28
|
How can I show the events from different groups using the same color

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oEvents
LOCAL oGroup,oGroup1
LOCAL oGroups
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:BeginUpdate()
oSchedule:Calendar():Selection := "05/24/2012"
oSchedule:DisplayGroupingButton := .T.
oSchedule:ShowGroupingEvents := .T.
oSchedule:ApplyGroupingColors := .F.
oGroups := oSchedule:Groups()
oGroup := oGroups:Add(1,"Group 1")
oGroup:Visible := .T.
oGroup:SetProperty("EventBackColor",AutomationTranslateColor( GraMakeRGBColor ( { 128,128,128 } ) , .F. ))
oGroup:Title := "1'st Group"
oGroup1 := oGroups:Add(2,"Group 2")
oGroup1:Visible := .T.
oGroup1:SetProperty("EventBackColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. ))
oGroup1:Title := "2'nd Group"
oSchedule:DefaultEventLongLabel := "<%=%256%><br>Group's Caption: <b><%=%262%></b><br>Group's Title: <b><%=%263%></b>"
oSchedule:DefaultEventShortLabel := oSchedule:DefaultEventLongLabel()
oEvents := oSchedule:Events()
oEvents:Add("05/24/2012 10:00:00","05/24/2012 12:00:00"):GroupID := 1
oEvents:Add("05/24/2012 10:45:00","05/24/2012 12:30:00"):GroupID := 2
oEvents:Add("05/24/2012 12:30:00","05/24/2012 14:30:00"):GroupID := 1
oSchedule:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
27
|
Is it possible to hide the grid lines in the calendar panel

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:Calendar():ShowGridLines := -1/*exNoLines*/
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
26
|
How can I control the number of months displayed on the calendar pane
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oCalendar
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oCalendar := oSchedule:Calendar()
oCalendar:MaxMonthX := 2
oCalendar:MaxMonthY := 2
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
25
|
I'm currently evaluating your eXSchedule product and i'm trying to have the header display the month according to local settings. How can I do that (Method 2)

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oCalendar
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oCalendar := oSchedule:Calendar()
oCalendar:FirstWeekDay := 1/*exMonday*/
oCalendar:MonthNames := "J-A F-E M-A A-P M-A J-U J-L A-U S-P O-C N-V D-C"
oCalendar:WeekDays := "Du Lu Ma Mi Jo Vi Si"
oCalendar:TodayCaption := "A z i"
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
24
|
I'm currently evaluating your eXSchedule product and i'm trying to have the header display the month according to local settings. How can I do that (Method 1)

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oCalendar
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oCalendar := oSchedule:Calendar()
oCalendar:FirstWeekDay := oCalendar:LocFirstWeekDay()
oCalendar:MonthNames := oCalendar:LocMonthNames()
oCalendar:WeekDays := oCalendar:LocWeekDays()
oCalendar:AMPM := oCalendar:LocAMPM()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
23
|
How can I show the events grouped

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oEvents
LOCAL oGroup,oGroup1
LOCAL oGroups
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:BeginUpdate()
oSchedule:Calendar():Selection := "05/24/2012"
oSchedule:DisplayGroupingButton := .T.
oSchedule:ShowGroupingEvents := .T.
oGroups := oSchedule:Groups()
oGroup := oGroups:Add(1,"Group 1")
oGroup:Visible := .T.
oGroup:SetProperty("EventBackColor",AutomationTranslateColor( GraMakeRGBColor ( { 128,128,128 } ) , .F. ))
oGroup:SetProperty("HeaderBackColor",oGroup:EventBackColor())
oGroup1 := oGroups:Add(2,"Group 2")
oGroup1:Visible := .T.
oGroup1:SetProperty("EventBackColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. ))
oGroup1:SetProperty("HeaderBackColor",oGroup1:EventBackColor())
oEvents := oSchedule:Events()
oEvents:Add("05/24/2012 10:00:00","05/24/2012 12:00:00"):GroupID := 1
oEvents:Add("05/24/2012 10:45:00","05/24/2012 12:30:00"):GroupID := 2
oEvents:Add("05/24/2012 11:30:00","05/24/2012 13:30:00"):GroupID := 1
oSchedule:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
22
|
How can I show 2 or more days in the scheduler

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oCalendar
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:BeginUpdate()
oCalendar := oSchedule:Calendar()
oCalendar:Selection := "0"
oCalendar:SetProperty("SelectDate","05/24/2012",.T.)
oCalendar:SetProperty("SelectDate","05/25/2012",.T.)
oSchedule:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
21
|
Is it possible to change the first week day

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:Calendar():FirstWeekDay := 1/*exMonday*/
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
20
|
How can I define the new starting / ending points of the day

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:DayStartTime := "07:30"
oSchedule:DayEndTime := "12:45"
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
19
|
Is it possible to change the label to be displayed when user moves the events

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oEvents
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:BeginUpdate()
oSchedule:Calendar():Selection := "05/24/2012"
oSchedule:UpdateEventsLabel := "Start: <%=%1%><br>End: <%=%2%>"
oSchedule:UpdateEventsLabelAlign := 17/*exMiddleCenter*/
oEvents := oSchedule:Events()
oEvents:Add("05/24/2012 10:00:00","05/24/2012 12:00:00")
oEvents:Add("05/24/2012 10:45:00","05/24/2012 12:30:00")
oEvents:Add("05/24/2012 11:30:00","05/24/2012 13:30:00")
oSchedule:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
18
|
How can I change the default tooltip when adding new events

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oEvents
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:BeginUpdate()
oSchedule:Calendar():Selection := "05/24/2012"
oSchedule:DefaultEventTooltip := "Start: <%=%1%><br>End: <%=%2%>"
oEvents := oSchedule:Events()
oEvents:Add("05/24/2012 10:00:00","05/24/2012 12:00:00")
oEvents:Add("05/24/2012 11:30:00","05/24/2012 13:30:00")
oSchedule:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
17
|
How can I change the default label when adding new events

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oEvents
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:BeginUpdate()
oSchedule:Calendar():Selection := "05/24/2012"
oSchedule:CreateEventLabel := "Start: <%=%1%><br>End: <%=%2%>"
oEvents := oSchedule:Events()
oEvents:Add("05/24/2012 10:00:00","05/24/2012 12:00:00")
oEvents:Add("05/24/2012 11:30:00","05/24/2012 13:30:00")
oSchedule:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
16
|
How can I change the default label when adding new events

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oEvents
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:BeginUpdate()
oSchedule:Calendar():Selection := "05/24/2012"
oSchedule:DefaultEventLongLabel := "Start: <%=%1%><br>End: <%=%2%>"
oSchedule:DefaultEventShortLabel := oSchedule:DefaultEventLongLabel()
oEvents := oSchedule:Events()
oEvents:Add("05/24/2012 10:00:00","05/24/2012 12:00:00")
oEvents:Add("05/24/2012 11:30:00","05/24/2012 13:30:00")
oSchedule:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
15
|
How can I programatically add events to the control

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oEvents
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:BeginUpdate()
oSchedule:Calendar():Selection := "05/24/2012"
oEvents := oSchedule:Events()
oEvents:Add("05/24/2012 10:00:00","05/24/2012 12:00:00")
oEvents:Add("05/24/2012 10:45:00","05/24/2012 12:30:00")
oEvents:Add("05/24/2012 11:30:00","05/24/2012 13:30:00")
oSchedule:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
14
|
How can I hide the status part of a specific event

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oEvents
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:BeginUpdate()
oSchedule:Calendar():Selection := "05/24/2012"
oEvents := oSchedule:Events()
oEvents:Add("05/24/2012 10:00:00","05/24/2012 12:00:00")
oEvents:Add("05/24/2012 10:45:00","05/24/2012 12:30:00"):ShowStatus := .F.
oEvents:Add("05/24/2012 11:30:00","05/24/2012 13:30:00")
oSchedule:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
13
|
Is it possible to change the status color for a specific event

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oEvents
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:BeginUpdate()
oSchedule:Calendar():Selection := "05/24/2012"
oEvents := oSchedule:Events()
oEvents:Add("05/24/2012 10:00:00","05/24/2012 12:00:00")
oEvents:Add("05/24/2012 10:45:00","05/24/2012 12:30:00"):SetProperty("StatusColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. ))
oEvents:Add("05/24/2012 11:30:00","05/24/2012 13:30:00")
oSchedule:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
12
|
Is it possible to change the background color for a specific event

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oEvents
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:BeginUpdate()
oSchedule:Calendar():Selection := "05/24/2012"
oEvents := oSchedule:Events()
oEvents:Add("05/24/2012 10:00:00","05/24/2012 12:00:00")
oEvents:Add("05/24/2012 10:45:00","05/24/2012 12:30:00"):SetProperty("BodyBackColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. ))
oEvents:Add("05/24/2012 11:30:00","05/24/2012 13:30:00")
oSchedule:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
11
|
Can I change the size of the status to be larger

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oEvents
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:BeginUpdate()
oSchedule:Calendar():Selection := "05/24/2012"
oSchedule:StatusEventSize := 8
oEvents := oSchedule:Events()
oEvents:Add("05/24/2012 10:00:00","05/24/2012 12:00:00")
oEvents:Add("05/24/2012 10:45:00","05/24/2012 12:30:00")
oEvents:Add("05/24/2012 11:30:00","05/24/2012 13:30:00")
oSchedule:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
10
|
I do not need a status, can I hide it

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oEvents
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:BeginUpdate()
oSchedule:Calendar():Selection := "05/24/2012"
oSchedule:ShowStatusEvent := .F.
oEvents := oSchedule:Events()
oEvents:Add("05/24/2012 10:00:00","05/24/2012 12:00:00")
oEvents:Add("05/24/2012 10:45:00","05/24/2012 12:30:00")
oEvents:Add("05/24/2012 11:30:00","05/24/2012 13:30:00")
oSchedule:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
9
|
Is it possible to change the status's default background color

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oEvents
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:BeginUpdate()
oSchedule:Calendar():Selection := "05/24/2012"
oSchedule:SetProperty("StatusEventColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. ))
oEvents := oSchedule:Events()
oEvents:Add("05/24/2012 10:00:00","05/24/2012 12:00:00")
oEvents:Add("05/24/2012 10:45:00","05/24/2012 12:30:00")
oEvents:Add("05/24/2012 11:30:00","05/24/2012 13:30:00")
oSchedule:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
8
|
How can I change the visual appearance of the Events (Method 2)

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oEvents
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:BeginUpdate()
oSchedule:Calendar():Selection := "05/24/2012"
oSchedule:VisualDesign := "gBFLBWIgBAEHhEJAEGg55hAvCcHAkIbD/i0JE0KhYnjQDFEaAQDhEMAAIhAPhBYKA6KhyMJjNZiMJyEA2EAxAUIk0HlEHlUsl0wmU0GYgGcig87AE9AE/lsvmMzEAym8BA=="
oEvents := oSchedule:Events()
oEvents:Add("05/24/2012 10:00:00","05/24/2012 12:00:00")
oEvents:Add("05/24/2012 10:45:00","05/24/2012 12:30:00")
oEvents:Add("05/24/2012 11:30:00","05/24/2012 13:30:00")
oSchedule:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
7
|
How can I change the visual appearance of the Events (Method 1)

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oEvents
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:BeginUpdate()
oSchedule:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
oSchedule:Calendar():Selection := "05/24/2012"
oSchedule:SetProperty("BodyEventBackColor",0x1000000)
oEvents := oSchedule:Events()
oEvents:Add("05/24/2012 10:00:00","05/24/2012 12:00:00")
oEvents:Add("05/24/2012 10:45:00","05/24/2012 12:30:00")
oEvents:Add("05/24/2012 11:30:00","05/24/2012 13:30:00")
oSchedule:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
6
|
How can I show the scheduler panel only, so no Calendar panel is shown

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:OnResizeControl := 768/*exChangePanels+exHideSplitter*/
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
5
|
May I display the calendar in the right side of the control

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:OnResizeControl := 1536/*exCalendarFit+exChangePanels*/
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
4
|
Is it possible to disable resizing the vertical splitter

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:OnResizeControl := 129/*exDisableSplitter+exResizePanelRight*/
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
3
|
How can I show the Calendar panel only

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:OnResizeControl := 257/*exHideSplitter+exResizePanelRight*/
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2
|
Is there an AutoHide option for the Calendar panel

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:OnResizeControl := 2048/*exCalendarAutoHide*/
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
1
|
How can I hide the Calendar panel

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oSchedule
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oSchedule := XbpActiveXControl():new( oForm:drawingArea )
oSchedule:CLSID := "Exontrol.Schedule.1" /*{9B09E13D-7A88-4299-9DBE-383380435377}*/
oSchedule:create(,, {10,60},{610,370} )
oSchedule:OnResizeControl := 768/*exChangePanels+exHideSplitter*/
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|